import pandas as pd
from matplotlib import pyplot as plt
import matplotlib.ticker as ticker
plt.rcParams['font.sans-serif'] = ['SimHei']
"""
1.导入数据，并计算各个岗位的个数，存入列表job_num_1中
"""
job_list = ['算法', '软件', '前端', '人工智能', '数据', 'Android', 'Java', '安卓', '运维', '图像']
job_num_1 = []  # 存放每种岗位的个数

for job in job_list:
    print('正在计算{}岗位的数量'.format(job))
    # 定义输入文件的名字
    input_file = './data4_3_classify_job/{}.xlsx'.format(job)
    df = pd.read_excel(input_file)  # 读取数据
    df = df.drop_duplicates(subset=['company_name'])  # 去除相同公司，
    num_1 = len(df)
    print(num_1)
    job_num_1.append(num_1)
    print(job_num_1)
"""
2.计算每个岗位占比，存入列表job_num_2中
"""
job_num_2 = []  # 存放每个岗位占比
total = sum(job_num_1)  # 所有岗位数量和
for x in job_num_1:
    num_3 = round(x / total, 2)  # 计算占比，保留小数点后2位
    job_num_2.append(num_3)  # 存到job_num_2中
    print(job_num_2)
"""
3.将工作岗位和数量占比存放一个pandas数据中
"""
data_new = pd.DataFrame({
    '工作岗位': job_list,
    '数量占比': job_num_2
})  # 将两个列表拼接在一起
"""
4.按照数量占比降序排列，并重置索引
"""
data_new = data_new.sort_values(by='数量占比', ascending=True)
# 按照数量占比重新排序
data_new.reset_index(drop=True, inplace=True)
# 重置索引，并删除之前的索引
print(data_new)
plt.pie(data_new['数量占比'],labels=data_new['工作岗位'],autopct='%1.0f%%',startangle=0)
plt.title(['罗坛作业：各种岗位占比图'])
plt.tight_layout()
plt.savefig('./picture/5-5.各种岗位占比图.png')
plt.show()